const sendHandler = (req, res, next) => {
	// 处理成功响应
	res.success = (messageOrData, data) => {
		if (data) {
			res.json({
				status: 0,
				message: messageOrData,
				data,
			});
		} else {
			res.json({
				status: 0,
				data: messageOrData, // 默认第一个参数为 data
			});
		}
	};

	// 处理错误响应
	res.error = (err) => {
		if (err instanceof Error) {
			// 这里可以根据错误类型来设置不同的status
			console.error(err.stack); // 记录实际的错误堆栈信息
			res.json({
				status: 1,
				message: process.env.NODE_ENV === "production" ? "服务器内部错误" : err.message, // 生产环境不应该泄露错误堆栈信息
			});
		} else {
			res.json({
				status: 1,
				message: err,
			});
		}
	};

	next();
};

module.exports = sendHandler;
